Mâu thuẫn giữa tính liên tục và rời rạc
Trong thế giới của logic liên tục (Giải tích), chúng ta dựa vào các quy tắc như quy tắc nhân:
$$\frac{d(fg)}{dx} = f\frac{dg}{dx} + g\frac{df}{dx}$$
Hoặc tích phân đệ quy cho các hàm như:
$$\int \log^n |x| dx = x \log^n |x| - n \int \log^{n-1} |x| dx$$
Mặc dù tinh tế, nhưng các cấu trúc liên tục này đều có thể dự đoán được. Tuy nhiên, an ninh mạng lại đòi hỏi tính phức tạp một chiều. Toán học rời rạc cung cấp điều đó thông qua logic của các thừa số và số nguyên tố, nơi mà các hàm dễ dàng tính toán theo một hướng nhưng gần như bất khả thi khi đảo ngược mà không có "khóa".
Trước khi chúng ta có thể bảo vệ một mạng lưới, chúng ta phải thành thạo Quy nạp toán học để kiểm chứng các thuật toán xử lý dữ liệu của chúng ta. Lấy ví dụ dãy số Fibonacci, $f_n$. Chúng ta có thể chứng minh các đẳng thức như:
$$\sum_{k=1}^n (-1)^k f_k = (-1)^n f_{n-1} - 1$$
và xác minh tốc độ tăng trưởng bằng các công thức kiểu Binet:
$$f_n = \frac{f_{n-1} + \sqrt{5f_{n-1}^2 + 4(-1)^{n+1}}}{2}$$
Logic rời rạc này, kết hợp với Các trường hợp cơ sở, đảm bảo rằng các thuật toán như Sắp xếp chèn (Thuật toán 4.2.3) hoặc Thuật toán lát gạch Tromino (Thuật toán 4.4.4) hoạt động đúng đắn ngay cả khi mở rộng lên hàng nghìn tỷ thao tác.
Từ mẫu hình đến an ninh: Chuyển dịch RSA
An ninh hiện đại tận dụng Các thuật toán ngẫu nhiên và kỹ thuật chia để trị. Nhờ định lý cơ bản của số học—ý tưởng rằng mỗi số nguyên đều có một dấu vân tay nguyên tố duy nhất—chúng ta tạo ra hệ thống mật mã RSA. Khác với các đường cong liên tục của giải tích, RSA hoạt động dựa trên logic "bậc thang" của các thừa số nguyên tố.